
const originalURL = "https://v.kuaishou.com/CeZJhx 看了这么多快手，还是「酷拉皮卡」最好玩了！ 复制此消息，打开【快手】直接观看！";
// 
const tool = require('./tool.js');
const car = require('./car.js');
//用户配置数据
var configData = {
    user: "4047542310",//搜索用户
    //看视频最小时间
    minTime: 3,//10秒
    //看视频最大时间
    maxTime: 5,//10分钟
    //应用切换时间
    switchTime: 10,//10分钟
    swipeUpCount: 0,//浏览视频次数
    isOpenConsole: true,//是否开启控制台
    debugMode: false,//调试模式
};

//主页链接分享地址
var homeShareUrl = "";
//作品数量
var worksCount = 0;

//浏览快手指定用户的视频
function main (params) {
    configData = params;
    searchUser(configData.user)
}

//查找主页链接
function searchUser (user) {
    tool.restartApp("快手")
    tool.closeLinkPopup()
    // tool.searchUser(user)
    tool.log("开始查找用户：" + user)
    tool.press(981,138)
    sleep(2000)
    setText(configData.user)
    // app.startActivity({
    //     data: `kwai://search?keyword=${configData.user}`,
    // });
    searchUserId()
    // text("用户").waitFor()
    sleep(4000)
    click(904, 1470)  //进入第二个作品
    sleep(random(configData.minTime * 1000, configData.maxTime * 1000))
    //开始上滑进入主页
    swipeUp()
    //获取作品数量
    getWorksCount()
    //获取主页分享链接
    getHomeShareUrl()
    //重新打开快手,进入指定主页
    restartopenHome()
}

//搜索用户ID
function searchUserId () {
    tool.closeLinkPopup()
    click("搜索")
    sleep(3000)
    if(text("用户ID匹配").exists()){
       return  
    }else{
        searchUserId()
    }
}


//上滑进入主页
function swipeUp () {
    nextLive()
    sleep(1000)
    if (text("粉丝").exists() && text("关注").exists() && text("获赞").exists() && textContains("快手号").exists()) {
        console.log("进入主页成功")
        return true
    } else {
        swipeUp()
    }
}

//获取作品数量
function getWorksCount () {
    let work = textContains("作品").findOne(200)
    worksCount = work.text().split("作品")[1]
    worksCount = parseInt(worksCount)
    console.log("作品数量：" + worksCount)
    return worksCount
}

//重新打开快手,进入指定主页
function restartopenHome () {
     //关闭快手
     tool.restartApp("快手")
     sleep(3000)
     //进入主页
     tool.openHome(homeShareUrl)
     sleep(3000)
    //开始刷快手视频
    startSwipe(0)
}

//开始浏览时间
let startTime = null
//当前属于那个app 1:快手 2:快手极速版
var currentApp = 1


//开始刷快手视频
function startSwipe (count) {
    let w = desc("作品").findOne(1000).bounds()
    tool.press(w.centerX(),w.centerY(),200)
    sleep(1500)
    if(count===0){
        startTime = new Date().getTime()
    }
    for (let i = 0; i < worksCount; i++) {
        if (checkTime()) {
            switchApp()
            return
        }else{
            nextLive()
            configData.swipeUpCount++
            car.writeConfig(configData)
            let nowTime = new Date().getTime()
            let time = parseInt((nowTime - startTime)/1000)
            let time2 = parseInt(configData.switchTime * 60 - time)
            tool.log(`浏览视频:${configData.swipeUpCount},浏览${time}秒,还剩${time2}`)
        }
    }
    back()
    sleep(1000)
    startSwipe(count++)
}

//重新打开快手极速版,进入指定主页
function restartopenHome2 () {
    //关闭快手极速版
    tool.restartApp("快手极速版")
    sleep(3000)
    //进入主页
    tool.openHome2(homeShareUrl)
    sleep(3000)
    startSwipe2(0)
}

//开始刷快手极速版视频
function startSwipe2 (count) {
    let w = desc("作品").findOne(1000).bounds()
    tool.press(w.centerX(),w.centerY(),200)
    // click(205, 1873) //点击第一个视频
    sleep(1500)
    if(count===0){
        startTime = new Date().getTime()
    }
    for (let i = 0; i < worksCount; i++) {
        if (checkTime()) {
            switchApp()
            return
        }else{
            nextLive()
            configData.swipeUpCount++
            car.writeConfig(configData)
            let nowTime = new Date().getTime()
            let time = parseInt((nowTime - startTime)/1000)
            let time2 = parseInt(configData.switchTime * 60 - time)
            tool.log(`浏览视频:${configData.swipeUpCount},浏览${time}秒,还剩${time2}`)
        }
    }
    back()
    sleep(1000)
    startSwipe2(count++)
}

//切换另一个app浏览视频
function switchApp () {
    if(currentApp == 1){
        currentApp = 2
        restartopenHome2()
    }else if(currentApp == 2){
        currentApp = 1
        restartopenHome()
    }
}

//检查浏览时间是否到期
function checkTime () {
    let nowTime = new Date().getTime()
    let time = (nowTime - startTime)/1000/60
    if (time > configData.switchTime) {
        return true
    } else {
        return false
    }
}

//获取主页分享链接
function getHomeShareUrl () {
    // bounds("(1054,112,1194,266)")
    click(1124, 189)
    sleep(1500)
    // bounds("(274,1943,386,2055)")
    click(330, 1999)
    sleep(1500)
    // bounds("(87,2455,255,2623)")
    click(177, 2539)
    sleep(500)
    //主页链接地址
    homeShareUrl = tool.getClip()
    tool.log("主页分享链接地址：" + homeShareUrl)
}


//切换下一个直播间
function nextLive () {
    sleep(500);
    let startX = random(200, 300)
    let startY = random(1500, 1600)
    let endX = random(300, 350)
    let endY = random(50, 100)
    swipe(startX, startY, endX, endY, 50)
    sleep(random(configData.minTime * 1000, configData.maxTime * 1000))
}

exports.main = main;